package com.mustafaiev.tair.cts.dao;

import java.util.List;

import com.mustafaiev.tair.cts.model.BasketsBatch;
import com.mustafaiev.tair.cts.model.BasketsBatchFilter;

/**
 * @author tair
 * 
 */
public interface IBasketsBatchDAO extends ICostTrackingSystemDAO<BasketsBatch> {

	/**
	 * Retrieves all batches from database
	 * 
	 * @return
	 */
	List<BasketsBatch> retreiveBatches();

	/**
	 * Retrieves batch from databse by passed ID
	 * 
	 * @param batchId
	 * @return {@link BasketsBatch} batch
	 */
	BasketsBatch retrieveBatch(Long batchId);

	/**
	 * Retrieves batches by filter params
	 * 
	 * @param filter
	 * @return filtered batches
	 */
	List<BasketsBatch> retrieveBatchesByFilter(BasketsBatchFilter filter);

}
